package edu.smxy.associationmanagement.services.funding;

import edu.smxy.associationmanagement.domain.Funding;
import edu.smxy.associationmanagement.domain.chartjs.ChartRequest;

import java.util.List;
/**
* FundingService 服务层接口
* @date  2019/04/18
* @author: : SDH
* @description: 会费管理 服务层接口
*/
public interface FundingService {
	/**
	 * 根据id删除Funding数据
	 * @param id id
	 * @return 数据库受影响的行数
	 */
	int deleteByPrimaryKey(Integer id);
	
	/**
	 * 插入Funding数据
	 * @param record Funding对象
	 * @return 数据库受影响的行数
	 */
	int insert(Funding record);
	
	/**
	 * 安全插入Funding数据
	 * @param record Funding对象
	 * @return 数据库受影响的行数
	 */
	int insertSelective(Funding record);
	
	/**
	 * 根据id查询Funding数据
	 * @param id id
	 * @return 查询到的Funding数据
	 */
	Funding selectByPrimaryKey(Integer id);
	
	/**
	 * 安全更新Funding数据
	 * @param record Funding对象
	 * @return 数据库受影响的行数
	 */
	int updateByPrimaryKeySelective(Funding record);
	
	/**
	 * 更新Funding数据
	 * @param record Funding对象
	 * @return 数据库受影响的行数
	 */
	int updateByPrimaryKey(Funding record);
	
	/**
	 * 通过协会id获得该协会的所有会费记录
	 * @param assid 协会id
	 * @return List<Funding> Funding对象集合
	 */
	List<Funding> getAllFundingByAssid(int assid);
	
	/**
	 * 根据ChartRequest对象获取符合条件的会费记录
	 * @param record ChartRequest对象
	 * @return  List<Funding> Funding对象集合
	 */
	List<Funding> getCountByAssidInTime(ChartRequest record);
	
	/**
	 * 根据ChartRequest对象获取符合条件的会费记录
	 * @param record ChartRequest对象
	 * @return List<Funding> Funding对象集合
	 */
	List<Funding> getCostCountByAssidInTime(ChartRequest record);
}
